package com.headStorm.mavlinkDemo;

import cn.hutool.core.util.ByteUtil;
import cn.hutool.core.util.HexUtil;

import java.io.UnsupportedEncodingException;

/**
 * @author zhangqq
 * @create 2021-11-26 16:16
 **/
public class HuiMingJIeCrc {
    public static void main(String[] args) throws UnsupportedEncodingException {
//        byte sum = 0;
//        char[] chars = new char[]{'#','T','P','U','D','2','w','A','W','B','0','1'};
//        for (char aChar : chars) {
//            sum += aChar;
//        }
//        System.out.println(sum);
        //char[] chars = "#TPUG2wPTZ006".toCharArray();
        produceCrcCode("#TPUM2wFCC01");

        byte[] bytes = ("a").getBytes("utf-8");
        System.out.println(bytes.length);
    }

    public static byte produceCrcCode(String hexStr){
        byte sum = 0;
        char[] chars = hexStr.toCharArray();
        for (char aChar : chars) {
            sum += aChar;
        }
        System.out.println(Integer.toHexString(0xFF & sum).toUpperCase());
        return sum;
    }
//
//    /**
//     * 求负数的补码的方法。 注意： 负数的补码是在其原码的基础上，符号位不变，其余位取反，然后加1
//     * @param a
//     * @author lhever 2017年4月4日 下午8:42:47
//     * @since v1.0
//     */
//    public static void printComplementCode(byte a)
//    {
//        for (int i = 0; i < 8; i++)
//        {
//            // 0x80000000 是一个首位为1，其余位数为0的整数
//            int t = (a & 0x80000000 >>> i) >>> (7 - i);
//            System.out.print(t);
//        }
//        System.out.println();
//    }

}
